﻿
//============================================================
// Producnt name:		JOJO.CodeMad
// Version: 			1.0.0.0
// Coded by:			JiangHao
// Auto generated at: 	2012/5/5 11:11:39
//============================================================

using System;
using System.Text;
using System.Collections.Generic;
using System.Collections;
using MyCement.Database;
using OA.Model;

namespace  OA.Business
{
    public interface IProductPicBusinessFactory
    {
        IProductPicBusiness CreateProductPicBusiness();
    }
    public class ProductPicBusinessFactory: IProductPicBusinessFactory
    {
        public IProductPicBusiness CreateProductPicBusiness()
        {
            return new Default.ProductPicBLL();
        }    
    }
    
    ///<summary>
    /// interface
    ///</summary>
    public interface IProductPicBusiness : IBusinessBase<ProductPic, long>
    {
       /// <summary>
        /// 插入数据
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        object Insert(ProductPic entity); 
        /// <summary>
        /// 更新数据
        /// </summary>
        /// <param name="entity"></param>
       int UpDate(ProductPic entity);
        /// <summary>
        /// 更新字段数据
        /// </summary>
        /// <param name="entity"></param>
        int UpDate(Hashtable entity);

        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="entity"></param>
        int Delete(ProductPic entity);
        /// <summary>
        /// 模糊删除数据
        /// </summary>
        /// <param name="entity"></param>
        int Delete(Hashtable em);
         /// <summary>
        /// 通过主键读数据
        /// </summary>
        /// <param name="entity"></param>
        ProductPic GetById(long Id);
        /// <summary>
        /// 通过多主键读数据
        /// </summary>
        /// <param name="entity"></param>
        ProductPic GetById(Hashtable em);
        /// <summary>
        ///获得所有的数据
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        IList<ProductPic> GetAllRecord();
        /// <summary>
        /// 根据条件获得数据集
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
         int GetRecordsCount(Hashtable em);
         /// <summary>
        /// 根据条件获得数据集与查询
        /// 选择top 数量，在Hashtable里加入“TopNum”键
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        IList<ProductPic> GetRecords(Hashtable em);
        /// <summary>
        /// 根据条件获得数据集或查询
        /// 选择top 数量，在Hashtable里加入“TopNum”键
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        IList<ProductPic> GetRecordsByOr(Hashtable em);
         /// <summary>
        /// 根据条件判断是否数据已经存在
        /// </summary>
        ///<returns>返回true数据存在，false数据不存在</returns>
        bool IsRecordHas(Hashtable em);
        /// <summary>
        /// 根据条件获得数据集并分页
        ///排序字段“SortId”与排序方式“SortType”必填
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        IList<ProductPic> GetRecordsforPage(Hashtable em,PageStructure page);
        
        
    }
}

namespace OA.Business.Default
{   
    
    public  class ProductPicBLL : BusinessBase<ProductPic,long>,IProductPicBusiness
    {
        #region 插入数据
        /// <summary>
        /// 插入数据
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public object Insert(ProductPic entity)
        {
           return Insert("ProductPic.ProductPic_Insert", entity);
        }
        #endregion
        #region 更新数据
        /// <summary>
        /// 更新数据
        /// </summary>
        /// <param name="entity"></param>
        public int UpDate(ProductPic entity)
        {

          return  Update("ProductPic.ProductPic_Update", entity);
        }
        
        /// <summary>
        /// 更新字段数据
        /// </summary>
        /// <param name="entity"></param>
        public int UpDate(Hashtable em)
        {

         return  Update("ProductPic.ProductPic_UpdateHashtable", em);
        }

        #endregion
        #region 删除数据
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="entity"></param>
        public int Delete(ProductPic entity)
        {

         return  Delete("ProductPic.ProductPic_Delete",entity );
          
        }
        #endregion
        #region 删除数据
        /// <summary>
        /// 模糊删除数据
        /// </summary>
        /// <param name="entity"></param>
        public int Delete(Hashtable em)
        {

         return  Delete("ProductPic.ProductPic_DeleteFuzzy",em );
          
        }
        #endregion
        #region 通过主键读数据
         /// <summary>
        /// 通过主键读数据
        /// </summary>
        /// <param name="entity"></param>
         public ProductPic GetById(long Id)
        {
            Hashtable em = new Hashtable();
            em.Add("Id",Id);
            return QueryForObject("ProductPic.ProductPic_GetRecords", em);
        }
        
         public ProductPic GetById(Hashtable em)
        {
            return QueryForObject("ProductPic.ProductPic_GetRecords",em);
            }
        
        #endregion
        #region 获得所有的数据
        /// <summary>
        ///获得所有的数据
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        public  IList<ProductPic> GetAllRecord()
        {
            return GetRecords(null);
        }
         #endregion         
        #region  根据条件获得数据集的数量
        /// <summary>
        /// 根据条件获得数据集
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        public  int GetRecordsCount(Hashtable em)
        {
            return GetRecords(em).Count;
        }
        #endregion
        #region  根据条件获得数据集与查询
        /// <summary>
        /// 根据条件获得数据集与查询
        /// 选择top 数量，在Hashtable里加入“topNum”键
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        public  IList<ProductPic> GetRecords(Hashtable em)
        {
            return QueryForList("ProductPic.ProductPic_GetRecords",em);
        }
        
        #endregion
        #region  根据条件获得数据集或查询
        /// <summary>
        /// 根据条件获得数据集或查询
        /// 选择top 数量，在Hashtable里加入“topNum”键
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        public virtual IList<ProductPic> GetRecordsByOr(Hashtable em)
        {
            return QueryForList("ProductPic.ProductPic_GetRecordsOr",em);
        }
        
        #endregion
        #region  根据条件判断是否数据已经存在
        /// <summary>
        /// 根据条件判断是否数据已经存在
        /// </summary>
        ///<returns>返回true数据存在，false数据不存在</returns>
        public  bool IsRecordHas(Hashtable em)
        {
            if(GetRecords(em).Count>0)
            {
                return true;
                }
                return false;
        }
        #endregion
        #region  根据条件获得数据集并分页
        /// <summary>
        /// 根据条件获得数据集并分页
        /// Currpage默认为：1；PageSize默认为：20；SortId默认为：Id;SortType默认为：desc
        /// </summary>
        ///<returns>返回所以纪录集合</returns>
        public  IList<ProductPic> GetRecordsforPage(Hashtable em,PageStructure page)
        {
            if(!em.Contains("CurrPage"))
            {    em.Add("CurrPage",1);
                }
            if(!em.Contains("PageSize"))
            {   em.Add("PageSize",20);
                }
            if(!em.Contains("SortId"))
            {   em.Add("SortId","Id");
                }
            if(!em.Contains("SortType"))
            {   em.Add("SortType","desc");
                }
            return QueryForList("ProductPic.ProductPic_GetRecordsAndPage",em,page);
            }
        #endregion


    
    }
 }







